if char ln of sName is ":" then delete char ln of sName
put the length of sName into ln
repeat with i=0 to ln-1
if char (ln-i) of sName is ":" then
delete char 1 to (ln-i) of sName
exit repeat
end if
end repeat
if sName is empty then exit mouseUp
push this card
set lockMessages to true
go to card cardName of stack stackName
put "Document"&&sName&&cardName into fn
open file fn
write "Documentation for card"&"e&cardname"e &&"of stack"&"e&stackName"e&return to file fn
write the date&&the time&return to file fn
write "========================================="&return to file fn
put the number of buttons into bt
write "Card Buttons:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of button i&return to file fn
write "Number :"&the number of button i&return to file fn
write "ID :"&the id of button i&return to file fn
write "Style :"&the style of button i&return to file fn
write "Rect :"&the rect of button i&return to file fn
write "Location :"&the loc of button i&return to file fn
write "Icon :"&the icon of button i&return to file fn
write "ShowName :"&the showName of button i&return to file fn
write "Hilite :"&the hilite of button i&return to file fn
write "AutoHilite:"&the autoHilite of button i&return to file fn
write "Visible :"&the visible of button i&return to file fn
write "TextAlign :"&the textAlign of button i&return to file fn
write "TextFont :"&the textFont of button i&return to file fn
write "TextSize :"&the textSize of button i&return to file fn
write "TextStyle :"&the textStyle of button i&return to file fn
write "TextHeight:"&the textHeight of button i&return to file fn
if the script of button i <> empty then
write return&"BUTTON SCRIPT:"&return to file fn
write the script of button i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
put the number of background buttons into bt
write "Background Buttons:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of background button i&return to file fn
write "Number :"&the number of background button i&return to file fn
write "ID :"&the id of background button i&return to file fn
write "Style :"&the style of background button i&return to file fn
write "Rect :"&the rect of background button i&return to file fn
write "Location :"&the loc of background button i&return to file fn
write "Icon :"&the icon of background button i&return to file fn
write "ShowName :"&the showName of background button i&return to file fn
write "Hilite :"&the hilite of background button i&return to file fn
write "AutoHilite:"&the autoHilite of background button i&return to file fn
write "Visible :"&the visible of background button i&return to file fn
write "TextAlign :"&the textAlign of background button i&return to file fn
write "TextFont :"&the textFont of background button i&return to file fn
write "TextSize :"&the textSize of background button i&return to file fn
write "TextStyle :"&the textStyle of background button i&return to file fn
write "TextHeight:"&the textHeight of background button i&return to file fn
if the script of background button i <>empty then
write return&"BUTTON SCRIPT:"&return to file fn
write the script of background button i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
put the number of card fields into bt
write "Card Fields:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of card field i&return to file fn
write "Number :"&the number of card field i&return to file fn
write "ID :"&the id of card field i&return to file fn
write "Style :"&the style of card field i&return to file fn
write "Rect :"&the rect of card field i&return to file fn
write "Location :"&the loc of card field i&return to file fn
write "ShowLines :"&the showLines of card field i&return to file fn
write "WideMargins:"&the wideMargins of card field i&return to file fn
write "LockText :"&the lockText of card field i&return to file fn
write "Visible :"&the visible of card field i&return to file fn
write "TextAlign :"&the textAlign of card field i&return to file fn
write "TextFont :"&the textFont of card field i&return to file fn
write "TextSize :"&the textSize of card field i&return to file fn
write "TextStyle :"&the textStyle of card field i&return to file fn
write "TextHeight :"&the textHeight of card field i&return to file fn
if the script of card field i <> empty then
write return&"FIELD SCRIPT:"&return to file fn
write the script of card field i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
put the number of background fields into bt
write "Background Fields:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of background field i&return to file fn
write "Number :"&the number of background field i&return to file fn
write "ID :"&the id of background field i&return to file fn
write "Style :"&the style of background field i&return to file fn
write "Rect :"&the rect of background field i&return to file fn
write "Location :"&the loc of background field i&return to file fn
write "ShowLines :"&the showLines of background field i&return to file fn
write "WideMargins:"&the wideMargins of background field i&return to file fn
write "LockText :"&the lockText of background field i&return to file fn
write "Visible :"&the visible of background field i&return to file fn
write "TextAlign :"&the textAlign of background field i&return to file fn
write "TextFont :"&the textFont of background field i&return to file fn
write "TextSize :"&the textSize of background field i&return to file fn
write "TextStyle :"&the textStyle of background field i&return to file fn
write "TextHeight :"&the textHeight of background field i&return to file fn
if the script of background field i <> empty then
write return&"FIELD SCRIPT:"&return to file fn
write the script of background field i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
write "Card properties"&return to file fn
write "Name :"&the name of this card&return to file fn
write "Number :"&the number of this card&return to file fn
write "ID :"&the id of this card&return to file fn
if the script of this card <> empty then
write return&"CARD SCRIPT:"&return to file fn
write the script of this card to file fn
write return to file fn
end if
write "========================================="&return to file fn
write "========================================="&return to file fn
close file fn
pop card
set lockMessages to false
put "Results put into "&fn
wait 3 seconds
hide msg
end mouseUp
-- part 2 (button)
-- low flags: 00
-- high flags: A003
-- rect: left=194 top=128 right=155 bottom=324
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Document Stack
----- HyperTalk script -----
on mouseUp
global cardName
global stackName
global fn
put " " into bNums
get fileName("STAK")
if it is empty then exit mouseUp
put it into stackName
set cursor to 4
push this card
set lockMessages to true
go to first card of stack stackName
put the number of cards into cardCount
put stackName into sName
put the length of sName into ln
if char ln of sName is ":" then delete char ln of sName
put the length of sName into ln
repeat with i=0 to ln-1
if char (ln-i) of sName is ":" then
delete char 1 to (ln-i) of sName
exit repeat
end if
end repeat
if sName is empty then exit mouseUp
repeat with cardName=1 to cardCount
go to card cardName of stack stackName
put "Document"&&sName&&cardName into fn
open file fn
write "Documentation for card"&"e&cardname"e &&"of stack"&"e&stackName"e&return to file fn
write the date&&the time&return to file fn
write "========================================="&return to file fn
put the number of buttons into bt
write "Card Buttons:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of button i&return to file fn
write "Number :"&the number of button i&return to file fn
write "ID :"&the id of button i&return to file fn
write "Style :"&the style of button i&return to file fn
write "Rect :"&the rect of button i&return to file fn
write "Location :"&the loc of button i&return to file fn
write "Icon :"&the icon of button i&return to file fn
write "ShowName :"&the showName of button i&return to file fn
write "Hilite :"&the hilite of button i&return to file fn
write "AutoHilite:"&the autoHilite of button i&return to file fn
write "Visible :"&the visible of button i&return to file fn
write "TextAlign :"&the textAlign of button i&return to file fn
write "TextFont :"&the textFont of button i&return to file fn
write "TextSize :"&the textSize of button i&return to file fn
write "TextStyle :"&the textStyle of button i&return to file fn
write "TextHeight:"&the textHeight of button i&return to file fn
if the script of button i <> empty then
write return&"BUTTON SCRIPT:"&return to file fn
write the script of button i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
put the number of background buttons into bt
write "Background Buttons:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of background button i&return to file fn
write "Number :"&the number of background button i&return to file fn
write "ID :"&the id of background button i&return to file fn
write "Style :"&the style of background button i&return to file fn
write "Rect :"&the rect of background button i&return to file fn
write "Location :"&the loc of background button i&return to file fn
write "Icon :"&the icon of background button i&return to file fn
write "ShowName :"&the showName of background button i&return to file fn
write "Hilite :"&the hilite of background button i&return to file fn
write "AutoHilite:"&the autoHilite of background button i&return to file fn
write "Visible :"&the visible of background button i&return to file fn
write "TextAlign :"&the textAlign of background button i&return to file fn
write "TextFont :"&the textFont of background button i&return to file fn
write "TextSize :"&the textSize of background button i&return to file fn
write "TextStyle :"&the textStyle of background button i&return to file fn
write "TextHeight:"&the textHeight of background button i&return to file fn
if the script of background button i <>empty then
write return&"BUTTON SCRIPT:"&return to file fn
write the script of background button i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
put the number of card fields into bt
write "Card Fields:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of card field i&return to file fn
write "Number :"&the number of card field i&return to file fn
write "ID :"&the id of card field i&return to file fn
write "Style :"&the style of card field i&return to file fn
write "Rect :"&the rect of card field i&return to file fn
write "Location :"&the loc of card field i&return to file fn
write "ShowLines :"&the showLines of card field i&return to file fn
write "WideMargins:"&the wideMargins of card field i&return to file fn
write "LockText :"&the lockText of card field i&return to file fn
write "Visible :"&the visible of card field i&return to file fn
write "TextAlign :"&the textAlign of card field i&return to file fn
write "TextFont :"&the textFont of card field i&return to file fn
write "TextSize :"&the textSize of card field i&return to file fn
write "TextStyle :"&the textStyle of card field i&return to file fn
write "TextHeight :"&the textHeight of card field i&return to file fn
if the script of card field i <> empty then
write return&"FIELD SCRIPT:"&return to file fn
write the script of card field i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
put the number of background fields into bt
write "Background Fields:"&&bt&return&return to file fn
repeat with i=1 to bt
write "Name :"&the name of background field i&return to file fn
write "Number :"&the number of background field i&return to file fn
write "ID :"&the id of background field i&return to file fn
write "Style :"&the style of background field i&return to file fn
write "Rect :"&the rect of background field i&return to file fn
write "Location :"&the loc of background field i&return to file fn
write "ShowLines :"&the showLines of background field i&return to file fn
write "WideMargins:"&the wideMargins of background field i&return to file fn
write "LockText :"&the lockText of background field i&return to file fn
write "Visible :"&the visible of background field i&return to file fn
write "TextAlign :"&the textAlign of background field i&return to file fn
write "TextFont :"&the textFont of background field i&return to file fn
write "TextSize :"&the textSize of background field i&return to file fn
write "TextStyle :"&the textStyle of background field i&return to file fn
write "TextHeight :"&the textHeight of background field i&return to file fn
if the script of background field i <> empty then
write return&"FIELD SCRIPT:"&return to file fn
write the script of background field i to file fn
write return to file fn
end if
if i<bt then
write return to file fn
write "-----------------------------------------" to file fn
write return&return to file fn
end if
end repeat
write "========================================="&return to file fn
write "Card properties"&return to file fn
write "Name :"&the name of this card&return to file fn
write "Number :"&the number of this card&return to file fn
write "ID :"&the id of this card&return to file fn
if the script of this card <> empty then
write return&"CARD SCRIPT:"&return to file fn
write the script of this card to file fn
write return to file fn
end if
write "========================================="&return to file fn
write "Background properties"&return to file fn
write "Name :"&the name of this background&return to file fn
write "Number :"&the number of this background&return to file fn
write "ID :"&the id of this background&return to file fn
if the script of this background <> empty then
put the number of this background into bNum
put the number of items of bNums into nItems
repeat with k=1 to nItems+1
if bNum=item k of bNums then exit repeat
end repeat
if k=nItems+1 then
put bNum into item k of bNums
write return&"BACKGROUND SCRIPT:"&return to file fn
write the script of this background to file fn
write return to file fn
else
write return&"BACKGROUND SCRIPT: Same as in prior card"&return to file fn
end if
end if
write "========================================="&return to file fn
write "========================================="&return to file fn
close file fn
end repeat
pop card
set lockMessages to false
put "Results put into "&sName&"..."
wait 3 seconds
hide msg
end mouseUp
-- part 5 (button)
-- low flags: 00
-- high flags: 0003
-- rect: left=460 top=26 right=66 bottom=506
-- title width / last selected line: 0
-- icon id / first selected line: 1011 / 1011
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name:
----- HyperTalk script -----
on mouseUp
go to home
end mouseUp
-- part 6 (button)
-- low flags: 00
-- high flags: A003
-- rect: left=194 top=176 right=203 bottom=324
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Document Globals
----- HyperTalk script -----
on mouseUp
get fileName("STAK")
if it is empty then exit mouseUp
put it into stackName
put " " into bNums
put "card button,background button,card field,background field" into nm
put "Card button,Background button,Card field,Background field" into nmCap
set cursor to 4
push this card
set lockMessages to true
go to first card of stack stackName
put the number of cards into cardCount
put stackName into sName
put the length of sName into ln
if char ln of sName is ":" then delete char ln of sName
put the length of sName into ln
repeat with i=0 to ln-1
if char (ln-i) of sName is ":" then
delete char 1 to (ln-i) of sName
exit repeat
end if
end repeat
if sName is empty then exit mouseUp
put "Global"&&sName into fn
open file fn
write "Global variables for stack"&"e&stackName"e&return to file fn
write the date&&the time&return to file fn
write "========================================="&return to file fn
repeat with cardName=1 to cardCount
go to card cardName of stack stackName
repeat with type=1 to 4
do "put the number of "&item type of nm&"s into bt"
repeat with i=1 to bt
put item type of nmCap&&i
do "put the script of "&item type of nm&" i into tmp"
if tmp <> empty then
put true into firstFlag
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
if (lastPos>0) then
put false into firstFlag
write item type of nmCap&&i&&"of card"&&cardName to file fn
do "put the name of "&item type of nm&" i into name"
if name is empty then
write return to file fn
else
write " ("&name&")"&return to file fn
end if
end if
repeat until (lastPos=0)
write " "&word 2 of line lastPos of tmp&return to file fn
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
if firstFlag is false then
write "-----------------------------------------" to file fn
write return to file fn
end if
end repeat
end repeat
put "Card"&&cardName
put true into firstFlag
put the script of this card into tmp
if tmp <> empty then
put true into firstFlag
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
if (lastPos>0) then
put false into firstFlag
write "Card"&&cardName to file fn
put the name of this card into name
if name is empty then
write return to file fn
else
write " ("&name&")"&return to file fn
end if
end if
repeat until (lastPos=0)
write " "&word 2 of line lastPos of tmp&return to file fn
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
if firstFlag is false then
write "-----------------------------------------" to file fn
write return to file fn
end if
put "Background for card"&&cardName
put true into firstFlag
if the script of this background <> empty then
put the number of this background into bNum
put find(bNums,bNum) into bNumLoc
if bNumLoc=0 then
put bNum&"," after bNums
put the script of this background into tmp
put true into firstFlag
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
if (lastPos>0) then
put false into firstFlag
write "Background for card"&&cardName to file fn
put the name of this background into name
if name is empty then
write return to file fn
else
write " ("&name&")"&return to file fn
end if
end if
repeat until (lastPos=0)
write " "&word 2 of line lastPos of tmp&return to file fn
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
if firstFlag is false then
write "-----------------------------------------" to file fn
write return to file fn
end if
end if
end repeat
put "Stack"
put true into firstFlag
put the script of this stack into tmp
if tmp <> empty then
put true into firstFlag
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
if (lastPos>0) then
put false into firstFlag
write "Stack"&&sName&return to file fn
end if
repeat until (lastPos=0)
write " "&word 2 of line lastPos of tmp&return to file fn
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
if firstFlag is false then
write "-----------------------------------------" to file fn
write return to file fn
end if
pop card
close file fn
set lockMessages to false
put "Results put into "&fn
wait 3 seconds
hide msg
end mouseUp
-- part 8 (button)
-- low flags: 00
-- high flags: A003
-- rect: left=194 top=224 right=251 bottom=324
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Global XRef
----- HyperTalk script -----
on mouseUp
get fileName("STAK")
if it is empty then exit mouseUp
put it into stackName
put " " into bNums
put "card button,background button,card field,background field" into nm
put "Card button,Background button,Card field,Background field" into nmCap
set cursor to 4
push this card
set lockMessages to true
set lockScreen to true
go to first card of stack stackName
put the number of cards into cardCount
put stackName into sName
put the length of sName into ln
if char ln of sName is ":" then delete char ln of sName
put the length of sName into ln
repeat with i=0 to ln-1
if char (ln-i) of sName is ":" then
delete char 1 to (ln-i) of sName
exit repeat
end if
end repeat
if sName is empty then exit mouseUp
repeat with cardNum=1 to cardCount
go to card cardNum
put the name of this card into cardName
if cardName is empty then
put "card"&&cardNum into cardName
end if
repeat with type=1 to 4
do "put the number of "&item type of nm&"s into bt"
repeat with i=1 to bt
put item type of nmCap&&i
do "put the script of "&item type of nm&" i into tmp"
if tmp <> empty then
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
if (lastPos>0) then
do "put the name of "&item type of nm&" i into name"
if name is empty then
put item type of nmCap&&i&&"of"&&cardName&return into name
else
put name&&"of"&&cardName&return into name
end if
end if
repeat until (lastPos=0)
put word 2 of line lastPos of tmp&&name after xref
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
end repeat
end repeat
put cardName
put the script of this card into tmp
if tmp <> empty then
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
if (lastPos>0) then
put the name of this card into name
if name is empty then
put "Card"&&cardNum&return into name
else
put name&return into name
end if
end if
repeat until (lastPos=0)
put word 2 of line lastPos of tmp&&name after xref
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
put "Background for card"&&cardNum
if the script of this background <> empty then
put the number of this background into bNum
put find(bNums,bNum) into bNumLoc
if bNumLoc=0 then
put bNum&"," after bNums
put the script of this background into tmp
put true into firstFlag
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
if (lastPos>0) then
put the name of this background into name
if name is empty then
put "Background for card"&&cardNum into name
else
put name&return into name
end if
end if
repeat until (lastPos=0)
put word 2 of line lastPos of tmp&&name after xref
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
end if
end repeat
put "Stack"
put the script of this stack into tmp
if tmp <> empty then
put item 1 of find(tmp,"<global") into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
put "Stack"&&sName&return into name
repeat until (lastPos=0)
put word 2 of line lastPos of tmp&&name after xref
put item 1 of find(tmp,"<global",lastPos) into lastPos
if (lastPos>0) and (word 1 of line lastPos of tmp<>"global") then
put 0 into lastPos
end if
end repeat
end if
put "Sorting cross reference list"
put "Global"&&sName into fn
open file fn
write "Global variables for stack"&"e&stackName"e&return to file fn
write the date&&the time&return to file fn
write "========================================="&return to file fn
put sort(xref,"a") into xref
put the number of lines of xref into nLines
put empty into lastGlobal
put empty into lastItem
repeat with i=1 to nLines
put line i of xref into tmp
put word 1 of tmp into tmp1
if tmp1 <> lastGlobal then
write tmp1&return to file fn
put tmp1 into lastGlobal
put empty into lastItem
end if
delete word 1 of tmp
if tmp <> lastItem then
write " "&tmp&return to file fn
put tmp into lastItem
end if
end repeat
pop card
close file fn
set lockScreen to false
set lockMessages to false
put "Results put into "&fn
wait 3 seconds
hide msg
end mouseUp
-- part 14 (button)
-- low flags: 00
-- high flags: 2003
-- rect: left=8 top=26 right=66 bottom=54
-- title width / last selected line: 0
-- icon id / first selected line: 2478 / 2478
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name:
----- HyperTalk script -----
on mouseUp
show card field "info"
end mouseUp
-- part 15 (field)
-- low flags: 81
-- high flags: 2007
-- rect: left=73 top=50 right=335 bottom=428
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 3
-- text size: 10
-- style flags: 0
-- line height: 13
-- part name: info
-- part contents for card part 15
----- text -----
This stack was written as an aid to HyperTalk programmers. It produces:
• Complete documentation of a card or a stack
• Lists of global variables in a stack
• Sorted global variable cross-reference list
This stack can be used and distributed freely as long it is not modified or sold for a profit.
This stack makes use of a pair of external functions for finding a string in a container and sorting a container. These externals are not public domain and cannot be used apart from this stack without the expressed written consent of the authors. A non-commercial license is available for these functions for $10. Inexpensive commercial licenses are also available. Write for details.
Copyright 1987 Boojum Computer Systems, Inc.
All Commercial Rights Reserved
Hints for use:
Both global listings and cross-references require the use of an external function to find the word global in a script. The cross references further require a sort function. Both of these are included in this stack and so the stack will work correctly without modification. The problem is that when examining another stack, HyperCard does not save these functions in memory, but continually pops back to the Development Tools stack to retreive these functions. This process slows the processing of the stack being analyzed to a snail's pace, not to mention the wear and tear on your hard disk. The solution is to first use ResEdit to copy these two XFCNs to your copy of HyperCard and then to delete the functions from this stack. The functions will then be available to the system without excessive disk accesses.